3.1 包

所有Go语言的程序都会组织成若干组文件,每组文件被称为一个 。这样每个包的代码都可以作为很小的复用单元,被其他项目引用。让我们看看标准库中的 http 包是怎么利用包的特性组织功能的:

net/http/
  cgi/
  cookiejar/
    testdata/
  fcgi/
  httptest/
  httputil/
  pprof/
  testdata/

这些目录包括一系列以.go为扩展名的相关文件。这些目录将实现HTTP服务器、客户端、测试工具和性能调试工具的相关代码拆分成功能清晰的、小的代码单元。以 cookiejar 包为例,这个包里包含与存储和获取网页会话上的cookie相关的代码。每个包都可以单独导入和使用,以便开发者可以根据自己的需要导入特定功能。例如,如果要实现HTTP客户端,只需要导入 http 包就可以。

所有的.go文件,除了空行和注释,都应该在第一行声明自己所属的包。每个包都在一个单独的目录里。不能把多个包放到同一个目录中,也不能把同一个包的文件分拆到多个不同目录中。这意味着,同一个目录下的所有.go文件必须声明同一个包名。

results matching ""

    No results matching ""